package com.dms.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.dms.common.annotation.Excel;
import com.dms.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 任务对象 sys_mission
 *
 * @author xlong_zhu
 * @date 2021-04-01
 */
public class SysMission extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 巡检任务索引 */
    private Long missionId;

    /** 巡检任务名 */
    @Excel(name = "巡检任务名")
    private String missionName;

    /** 1. 仅一次 2. 每日 3. 每周 4. 每月 */
    @Excel(name = "1. 仅一次 2. 每日 3. 每周 4. 每月")
    private Integer missionCycle;

    /** 针对仅一次的，设置任务执行日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "针对仅一次的，设置任务执行日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date missionDate;

    /** 巡检任务开始：时:分:00 */
    @Excel(name = "巡检任务开始：时，分")
    private String missionStartTime;

    /** 巡检任务结束：时:分:00 */
    @Excel(name = "巡检任务结束：时，分")
    private String missionEndTime;

    /** 星期几，0代表星期天 */
    @Excel(name = "星期几，0代表星期天")
    private Integer missionWeekday;

    /** 几号，1-31 */
    @Excel(name = "几号，1-31")
    private Integer missionMonthday;

    /** 任务状态：0. 暂停 1. 正常 */
    @Excel(name = "任务状态：0. 暂停 1. 正常")
    private Integer missionStatus;

    public void setMissionId(Long missionId)
    {
        this.missionId = missionId;
    }

    public Long getMissionId()
    {
        return missionId;
    }
    public void setMissionName(String missionName)
    {
        this.missionName = missionName;
    }

    public String getMissionName()
    {
        return missionName;
    }
    public void setMissionCycle(Integer missionCycle)
    {
        this.missionCycle = missionCycle;
    }

    public Integer getMissionCycle()
    {
        return missionCycle;
    }
    public void setMissionDate(Date missionDate)
    {
        this.missionDate = missionDate;
    }

    public Date getMissionDate()
    {
        return missionDate;
    }
    public void setMissionStartTime(String missionStartTime)
    {
        this.missionStartTime = missionStartTime;
    }

    public String getMissionStartTime()
    {
        return missionStartTime;
    }
    public void setMissionEndTime(String missionEndTime)
    {
        this.missionEndTime = missionEndTime;
    }

    public String getMissionEndTime()
    {
        return missionEndTime;
    }
    public void setMissionWeekday(Integer missionWeekday)
    {
        this.missionWeekday = missionWeekday;
    }

    public Integer getMissionWeekday()
    {
        return missionWeekday;
    }
    public void setMissionMonthday(Integer missionMonthday)
    {
        this.missionMonthday = missionMonthday;
    }

    public Integer getMissionMonthday()
    {
        return missionMonthday;
    }
    public void setMissionStatus(Integer missionStatus)
    {
        this.missionStatus = missionStatus;
    }

    public Integer getMissionStatus()
    {
        return missionStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("missionId", getMissionId())
                .append("missionName", getMissionName())
                .append("missionCycle", getMissionCycle())
                .append("missionDate", getMissionDate())
                .append("missionStartTime", getMissionStartTime())
                .append("missionEndTime", getMissionEndTime())
                .append("missionWeekday", getMissionWeekday())
                .append("missionMonthday", getMissionMonthday())
                .append("missionStatus", getMissionStatus())
                .toString();
    }
}